package com.ygp.dtp.core.monitor.collector.abstracts.strategy;

import com.alibaba.fastjson.JSON;
import com.ygp.dtp.common.dto.ThreadPoolState;
import com.ygp.dtp.common.enums.CollectorTypeEnum;
import com.ygp.dtp.common.utils.LogUtil;
import com.ygp.dtp.core.monitor.collector.abstracts.AbstractCollector;

/**
 * @description: 日志监控收集器
 * @motto: 代码源于生活，高于生活艺术
 * @author: zhouhengzhe
 * @date: 2022/8/9 10:03
 * @since 1.0
 **/
public class LogCollector extends AbstractCollector {

    /**
     * 收集关键指标。
     *
     * @param threadPoolState 线程池相关状态参数
     */
    @Override
    public void collect(ThreadPoolState threadPoolState) {
        String metrics = JSON.toJSONString(threadPoolState);
        LogUtil.MONITOR_LOGGER.info("{}", metrics);
    }

    /**
     * 收集类型
     *
     * @return 收集类型
     */
    @Override
    public String type() {
        return CollectorTypeEnum.LOGGING.name();
    }
}
